package com.ayu.shortlink.engine.service;

import com.ayu.shortlink.engine.dao.entity.CouponTemplateRemindDO;
import com.ayu.shortlink.engine.dto.req.CouponTemplateRemindCancelReqDTO;
import com.ayu.shortlink.engine.dto.req.CouponTemplateRemindCreateReqDTO;
import com.ayu.shortlink.engine.dto.req.CouponTemplateRemindFindAllReqDTO;
import com.ayu.shortlink.engine.dto.resp.CouponTemplateRemindFindAllRespDTO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface CouponTemplateRemindService extends IService<CouponTemplateRemindDO> {

    /**
     * 用户预约抢优惠券
     * @param requestParam 订阅请求
     */
    void createCouponRemind(CouponTemplateRemindCreateReqDTO requestParam);

    /**
     * 用户预约抢优惠券V2
     * @param requestParam 订阅请求
     */
    void createCouponRemind2(CouponTemplateRemindCreateReqDTO requestParam);

    /**
     * 取消订阅优惠券
     * @param requestParam 订阅请求
     */
    void cancelCouponRemind(CouponTemplateRemindCancelReqDTO requestParam);

    /**
     * 查找用户所有预约信息
     * @param requestParam 用户请求信息
     * @return 用户所有预约信息
     */
    List<CouponTemplateRemindFindAllRespDTO> findAllCouponRemind(CouponTemplateRemindFindAllReqDTO requestParam);
}
